﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Common;
using DevComponents.DotNetBar;

namespace QLKBNT
{
    public partial class frmDangNhap : DevComponents.DotNetBar.Office2007Form //Form
    {
        DBSql db ;
        public Main_User u = new Main_User();
        public bool login = false;

        public frmDangNhap()
        {
            InitializeComponent();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            
            if (u.UserID == txtUserID.Text && u.Pword == txtPass.Text && u.TrangThai==true)
            {
                login = true;
                //this.Hide();
                this.Close();                
            }          
            else
            {
                errXulyloi.SetError(this.txtPass, "Mật khẩu không chính xác. Vui lòng kiểm tra lại");

                txtPass.Select();
            }
        }

        private void txtUserID_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtUserID.Text))
            {
                errXulyloi.SetError(this.txtUserID, "User ID không được để trống");
                
                txtUserID.Select();
            }
            string sql = String.Format("select * from {0} where UserID='{1}'", "[User]", txtUserID.Text);
           
            u = db.GetObject<Main_User>(sql);
            if (u.UserID != txtUserID.Text)
            {
                errXulyloi.SetError(this.txtUserID, "User ID không tồn tại. Vui lòng kiểm tra lại");
                txtUserID.Select();
            }
            //Trạng thái dùng để kiểm tra tình trạng nhân viên là đang làm việc hay nghỉ việc. 
            //Trạng thái = false là nhân viên nghỉ việc, sẽ không được đăng nhập hệ thống
            if (u.TrangThai == false)
            {
                errXulyloi.SetError(this.txtUserID, "Nhân viên này đã nghỉ việc. Vui lòng kiểm tra lại");
                txtUserID.Select();
            }
            txtUserID.BackColor = PublicConst.Color_Leave_Text;

        }

        private void DangNhap_Load(object sender, EventArgs e)
        {
            db = new DBSql(PublicConst.EnumServers.Ql046);
            //db = new DBSql(PublicConst.EnumServers.TRANTRIDUNG);
            //db = new DBSql(PublicConst.EnumServers.HongChi);
            //db = new DBSql(PublicConst.EnumServers.User_pc);
            if (db.CheckConnection() == false)
            {
                frmCauHinhCSDL csdl = new frmCauHinhCSDL();
                csdl.ShowDialog(this);
            }
                
        }

        private void frmDangNhap_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter )
                SendKeys.Send("{Tab}");

            if (e.Alt && e.KeyCode == Keys.F4)
                e.Handled = true;
            
        }

        private void txtUserID_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SendKeys.Send("{Tab}");
                //Xóa thông báo lỗi
                errXulyloi.Dispose();
            }
        }

        private void txtPass_KeyDown(object sender, KeyEventArgs e)
       {
           if (e.KeyCode == Keys.Enter)
           {
               //Xóa thông báo lỗi
               errXulyloi.Dispose();              
               btnOk.PerformClick();
           }
        }

        private void txtUserID_Enter(object sender, EventArgs e)
        {
            txtUserID.BackColor = PublicConst.Color_Entry_Text;
        }

        private void txtPass_Enter(object sender, EventArgs e)
        {
            txtPass.BackColor = PublicConst.Color_Entry_Text;
        }

        private void txtPass_Leave(object sender, EventArgs e)
        {
            txtPass.BackColor = PublicConst.Color_Leave_Text;
        }

   

       

        
    }
}
